memleax отлаживает и находит утечки памяти без перезагрузки сервиса или процесса и без перекомпилляции.

Установка:

echo -e "[repomanager-bayrepo_prod]
name=bayrepo repo on repo.brepo.ru
baseurl=https://repo.brepo.ru/repo/bayrepo_prod
enabled=1
gpgkey=https://repo.brepo.ru/repo/gpgkeys/repo.brepo...

Читать далее...

Обзор двух способов:

  1. как развести дорожки печатной платы с помощью KiCAD 5+FreeRoute
  2. как эмулировать входной сигнал при отладке в симуляторе Atmel Studio

Читать далее...

Пусть необходимо отладить процесс, запускаемый из другого процесса и быстро завершающийся.

Пример: нужно отладить расширение PHP, PHP настроен как cgi, т.е процесс запускается при появлении запроса и быстро завершается.

В отладке поможет systemtap.

Читать далее...

В этой статье не планирую ставить никакого задания. Просто буду собирать полезные сценарии из интернета и возможно - описывать свои. А так же вставлю ссылки на полезные статьи по исследованию и описанию работы некоторых функций glibc, для дальнейшей возможности обследования их через systemtap.

Сценарий 1

Интересный скрипт, позволяющий остановить выполнение программы в нужном месте и запустить gdb

Читать далее...

Попробую написать утилитку, которая бы отслеживала путь выполнения программы, не так подробно как ltrace, но все же существенно более быстро.

А так же попробую воспользоваться функциями.

1 Напишу функцию, которая аналогична indent, но с собственным алгоритмом формирования смещения:

function local_depth() {
    ind = ""
    for (i=depth[tid()];i>=0;i--){
        ind = sprintf("%s|", ind)
    }
    ind = ind . ">"
    return ind
}

Результат выполения функции - это строка отступа для текущего потока с учетом глубины вложенности. Т.е сведения о глубине хранятся в массиве depth с ключем tid(), т.е идентификатором текущего потока. Результат примерно выглядит так |||> или |||||||>

Читать далее...